<ui:composition xmlns="http://www.w3.org/1999/xhtml"
	xmlns:ui="http://java.sun.com/jsf/facelets"
	xmlns:h="http://java.sun.com/jsf/html"
	xmlns:f="http://java.sun.com/jsf/core"
	xmlns:c="http://java.sun.com/jsp/jstl/core"
	xmlns:p="http://primefaces.org/ui">

	<p:growl id="messageGrowl" showDetail="true" globalOnly="true"
		sticky="false" life="7000" />

	<div class="nombreSubBloque">
		<h:outputLabel value="Datos cotizaci&#243;n" />
	</div>

	<p:spacer height="10" />
	<div class="bloque">
		<div class="data">
			<h:panelGroup id="panelDatosSolicitudCotizacion" layout="block" >
				<h:outputLabel  value="Seleccione una sucursal de recojo." />
				<div class="divPanelGridCarrito" >
					<p:panelGrid >
						<p:row>
							<p:column>
								<h:outputLabel styleClass="label-general" value="Departamento( * ):" />
							</p:column>
							<p:column>
								<p:selectOneMenu id="departamento" value="#{carritoComprasController.carritoComprasBeanForm.idDepartamento}"
												 styleClass="select-general">
									<f:selectItem itemLabel="Seleccione" itemValue="-1" />
									<f:selectItems var="departamento" value="#{carritoComprasController.listaDepartamentos}"
										 		   itemValue="#{departamento.codigo}" itemLabel="#{departamento.nombre}"/>
									<p:ajax listener="#{carritoComprasController.listarProvincias}" update="provincia, messageDepartamento" 
											event="change" process="@this" global="false"/>
									<f:validator validatorId="seleccionValidator" />
									<f:attribute name="campo" value="Departamento" />
								</p:selectOneMenu>
							</p:column>
							<p:column>
								<h:outputLabel styleClass="label-general" value="Provincia( * ):" />
							</p:column>
							<p:column>
								<p:selectOneMenu id="provincia" value="#{carritoComprasController.carritoComprasBeanForm.idProvincia}"
												 styleClass="select-general">
									<f:selectItem itemLabel="Seleccione" itemValue="-1" />
									<f:selectItems var="provincia" value="#{carritoComprasController.listaProvincias}"
										 		   itemValue="#{provincia.codigo}" itemLabel="#{provincia.nombre}"/>
									<p:ajax listener="#{carritoComprasController.listarSucursales}" update="sucursal, messageProvincia" 
											event="change" process="@this" global="false"/>
									<f:validator validatorId="seleccionValidator" />
									<f:attribute name="campo" value="Provincia" />
								</p:selectOneMenu>
							</p:column>
							<p:column>
								<h:outputLabel styleClass="label-general" value="Sucursal( * ):" />
							</p:column>
							<p:column>
								<p:selectOneMenu id="sucursal" value="#{carritoComprasController.carritoComprasBeanForm.idSucursal}"
												 styleClass="select-general">
									<f:selectItem itemLabel="Seleccione" itemValue="-1" />
									<f:selectItems var="sucursal" value="#{carritoComprasController.listaSucursales}"
										 		   itemValue="#{sucursal.codigo}" itemLabel="#{sucursal.nombre}" />
									<p:ajax update="messageSucursal" global="false"/>
									<f:validator validatorId="seleccionValidator" />
									<f:attribute name="campo" value="Sucursal" />
								</p:selectOneMenu>
							</p:column>
						</p:row>
						<p:row>
							<p:column colspan="6">
								<p:spacer height="7px;"></p:spacer>
							</p:column>
						</p:row>
						
						<p:row >
							<p:column colspan="1">							
								<h:outputLabel styleClass="label-general" value="Observaci&#243;n:" />
							</p:column>
							<p:column colspan="5">
								<p:inputTextarea id="observacionCarritoCompras" value="#{carritoComprasController.carritoComprasBeanForm.observacion}" 
												 styleClass="label-general" maxlength="500" 
												 style="width: 99%; height: 40px;"/>
							</p:column>
						</p:row>

					</p:panelGrid>
				</div>
			
				<p:spacer height="20px" />
			</h:panelGroup>
		</div>
	</div>

	<p:spacer height="10px" />
	<div >
		<p:commandButton value="A&#241;adir repuestos" onclick="vwCotizacion.select(1)"
						 process="@this" global="false"/>
	</div>

	<p:spacer height="10px" />
	<div class="datatable ">
		<h:panelGroup id="plgDt">
			<p:dataTable id="tableid" widgetVar="dblElementosCotizacion"
						 value="#{carritoComprasSessionController.listaElementosCotizacion}"
						 var="elemento" rowKey="#{elemento.id}"
						 emptyMessage=""
						 paginator="true" rows="10" paginatorPosition="top"
						 paginatorTemplate="{FirstPageLink} {PreviousPageLink} {CurrentPageReport} {NextPageLink} {LastPageLink}"
						 currentPageReportTemplate="{currentPage} de {totalPages}">

				<p:ajax event="page" global="false" />
				
				<p:column  headerText="Marca">
					<h:outputText
						value="#{elemento.marca==null ? 'N/A' : elemento.marca}" />
				</p:column>
				<p:column headerText="Tipo">
					<h:outputText
						value="#{elemento.tipoVehiculo==null ? 'N/A' : elemento.tipoVehiculo}" />
				</p:column>
				<p:column  headerText="Modelo">
					<h:outputText
						value="#{elemento.modelo==null ? 'N/A' : elemento.modelo}" />
				</p:column>

				<p:column  headerText="#{etiquetaController.etiquetaChasis}">
					<h:outputText
						value="#{elemento.chasis==null ? 'N/A' : elemento.chasis}" />
				</p:column>

				<p:column  headerText="#{etiquetaController.etiquetaPlaca}">
					<h:outputText value="#{elemento.placa==null ? 'N/A' : elemento.placa}" />
				</p:column>
				
				<p:column  headerText="Descripci&#243;n">
					<h:outputText value="#{elemento.promocion!=null ? elemento.promocion.nombre : elemento.imagenRepuesto.nombreRepuesto} " />
				</p:column>
				
				<p:column style="text-align: right; width:50px;" headerText="Cantidad">
					<h:outputText value="#{elemento.cantidad}" />
				</p:column>

				<p:column style="width:2%">
					<f:facet name="header">
						<h:outputText />
					</f:facet>

					<p:commandLink rendered="#{elemento.promocion != null}" global="false"
								   process=":frmCotizacion:tabGeneral:plgDt"
								   oncomplete="wvpopUpEditarElementoPromocion.show()"
								   update=":frmCotizacion:tabGeneral:panelElementoEditarElementoPromocion">
						<h:graphicImage library="images" name="editar.png" styleClass="icon-small" 
									    alt="Detalle Promoci&#243;n" title="Detalle Promoci&#243;n" />
						<f:setPropertyActionListener value="#{elemento}" target="#{carritoComprasController.elementoCotizacionEditar}" />
					</p:commandLink>
					
					<p:commandLink rendered="#{elemento.promocion == null}" oncomplete="wvpopUpEditar.show()"
  								   update=":frmCotizacion:tabGeneral:panelElementoEditar"
								   process=":frmCotizacion:tabGeneral:plgDt" global="false">
						<h:graphicImage library="images" name="editar.png" styleClass="icon-small" 
										title="Editar"/>
						<f:setPropertyActionListener value="#{elemento}" target="#{carritoComprasController.elementoCotizacionEditar}" />
					</p:commandLink>
				</p:column>

				<p:column style="width:2%">
					<p:commandLink oncomplete="wvPopUpEliminarElementoCarrito.show()" global="false" 
								   process="@this">
						<h:graphicImage library="images" name="eliminar.png" styleClass="icon-small" 
										alt="Eliminar" title="Eliminar" />
						<f:setPropertyActionListener value="#{elemento}" target="#{carritoComprasController.elementoCotizacionEliminar}" />
					</p:commandLink>
				</p:column>

				<f:facet name="footer">
					<div class="pie-cantidad-resultados">
						<h:outputText
							rendered="#{carritoComprasSessionController.listaElementosCotizacion.size()>1}"
							value="Se encontraron #{carritoComprasSessionController.listaElementosCotizacion.size()} elementos en el carrito de compras." />
						<h:outputText
							rendered="#{carritoComprasSessionController.listaElementosCotizacion.size()==1}"
							value="Se encontr&#243; #{carritoComprasSessionController.listaElementosCotizacion.size()} elemento en el carrito de compras." />
						<h:outputText
							rendered="#{carritoComprasSessionController.listaElementosCotizacion.size()==0}"
							value="No se encontraron elementos en el carrito de compras." />
					</div>
				</f:facet>
			</p:dataTable>
		</h:panelGroup>
	</div>

	<p:spacer height="10px" />

	<div class="botonCotizacion"> 
		<p:commandButton value="Solicitar cotizaci&#243;n" process="@this, panelDatosSolicitudCotizacion" global="false"
						 action="#{carritoComprasController.validarCarrito}"
						 update="panelMensajes, messageGrowl"
						 oncomplete="mostrarDialog(xhr, status, args, wvPopupConfirmar)"/>

	</div>

	<h:panelGroup id="panelMensajes" layout="block">
		<div class="panelMessages">
			<p:message id="messageDepartamento" for="departamento" />
			<p:message id="messageProvincia" for="provincia" />
			<p:message id="messageSucursal" for="sucursal" />
		</div>
	</h:panelGroup>

	<p:dialog id="popupConfirmar" widgetVar="wvPopupConfirmar" header="Confirmar cotizaci&#243;n" 
			  resizable="false" modal="true">
		
		<h:panelGroup id="panelConfirmar">
			<div align="center">
				<h:panelGrid columns="2">
					<h:outputText value="Le interesa ver las promociones dar&#160;" />
					<p:commandLink value="click aqu&#237;"  styleClass="enlace" process="@this"
								   oncomplete="wvPopupConfirmar.hide(); vwCotizacion.select(4);" global="false"/>
				</h:panelGrid>
				<span>&#160;</span>
				<h:outputLabel value="&#191;Est&#225; seguro de enviar la solicitud ?" />
				
				<div class="panel-botones" align="center">
					<p:commandButton value="Aceptar" action="#{carritoComprasController.guardarSolicitudCotizacion}"
									 update="messageGrowl, plgDt, :frmCotizacion:tabGeneral:panelResultadosHistorialCotizaciones, panelDatosSolicitudCotizacion"
									 process="@this, panelDatosSolicitudCotizacion"
									 oncomplete="wvPopupConfirmar.hide(); regresarVehiculosPrincipal();
									 			 porDefectoPaginador(dblElementosCotizacion);"
									 icon="ui-icon ui-icon-check" />
					<span>&#160;</span>

					<p:commandButton value="Cancelar" icon="ui-icon ui-icon-close" global="false"
									 oncomplete="wvPopupConfirmar.hide()" process="@this" />
				</div>
			</div>
		</h:panelGroup>
	</p:dialog>

	<p:dialog id="popUpEditar" widgetVar="wvpopUpEditar" closable="true"
			  header="Detalle del repuesto" modal="true"
			  resizable="false">
		<div class="panel-general-popup">
			<h:panelGroup id="panelElementoEditar">
				
				<div class="divPanelGridFiltro" align="center">
					<p:panelGrid>
						<p:row>
							<p:column colspan="4">
								<div style="float: left;" class="nombreSubBloque">
									<h:outputLabel value="Datos del veh&#237;culo" />
								</div>
							</p:column>
						</p:row>
						<p:row>
							<p:column>
								<h:outputLabel>Marca:</h:outputLabel>
							</p:column>
							<p:column>
								<h:outputText styleClass="texto-general" value="#{carritoComprasController.elementoCotizacionEditar.marca}" />
							</p:column>
							<p:column>
								<h:outputLabel>Tipo :</h:outputLabel>
							</p:column>
							<p:column>
							<h:outputText styleClass="texto-general" value="#{carritoComprasController.elementoCotizacionEditar.tipoVehiculo}" />
								
							</p:column>
						</p:row>
						<p:row>
							<p:column>
								<h:outputLabel>Modelo: </h:outputLabel>
							</p:column>
							<p:column>
								<h:outputText styleClass="texto-general" value="#{carritoComprasController.elementoCotizacionEditar.modelo}" />
								
							</p:column>
							<p:column>
								<h:outputLabel>#{etiquetaController.etiquetaChasis}: </h:outputLabel>
							</p:column>
							<p:column>
								<h:outputText styleClass="texto-general" value="#{carritoComprasController.elementoCotizacionEditar.chasis}" />
							</p:column>
						</p:row>
						<p:row>
							<p:column>
								<h:outputLabel>#{etiquetaController.etiquetaPlaca}: </h:outputLabel>
							</p:column>
							<p:column>
								<h:outputText styleClass="texto-general" value="#{carritoComprasController.elementoCotizacionEditar.placa}" />
							</p:column>
							<p:column></p:column>
							<p:column></p:column>
						</p:row>
						<p:row>
							<p:column colspan="4">
								<div class="linea" style="margin-bottom: 10px;"></div>
							</p:column>
						</p:row>

						<p:row>
							<p:column colspan="4">
								<div style="float: left;" class="nombreSubBloque">
									<h:outputLabel value="Datos del elemento" />
								</div>
							</p:column>
						</p:row>
						<p:row>
							<p:column>
								<h:outputLabel>Posici&#243;n:</h:outputLabel>
							</p:column>
							<p:column>
								<h:outputText styleClass="texto-general" value="#{carritoComprasController.elementoCotizacionEditar.imagenRepuesto.posicion}" />	
								
							</p:column>
							<p:column>
								<h:outputLabel>Descripci&#243;n :</h:outputLabel>
							</p:column>
							<p:column>
								<h:outputText styleClass="texto-general" 
											  value="#{carritoComprasController.elementoCotizacionEditar.imagenRepuesto.nombreRepuesto}" />
								<br/>
								<h:outputText styleClass="texto-general" value="#{carritoComprasController.elementoCotizacionEditar.imagenRepuesto.obsImagenRepuesto}" /> 
							</p:column>
						</p:row>
						<p:row>
							<p:column>
								<h:outputLabel>Cantidad ref.: </h:outputLabel>
							</p:column>
							<p:column>
								<c:set var="cantidad_ref" scope="session"
									value="#{carritoComprasController.elementoCotizacionEditar.imagenRepuesto.cantidadReferencial}" />

								<c:choose>
									<c:when test="${cantidad_ref== -1}">
										<h:outputText styleClass="texto-general" value="-" />

									</c:when>
									<c:when test="${cantidad_ref== -2}">
										<h:outputText styleClass="texto-general"
											value="Seg&#250;n necesidad del cliente" />
									</c:when>
									<c:when test="${cantidad_ref== -200}">
										<h:outputText styleClass="texto-general" value="No disponible" />
									</c:when>
									<c:otherwise>
										<h:outputText styleClass="texto-general"
											value="#{carritoComprasController.elementoCotizacionEditar.imagenRepuesto.cantidadReferencial}" />
									</c:otherwise>
								</c:choose>

							</p:column>
							<p:column>
								<h:outputLabel>Cantidad: </h:outputLabel>
							</p:column>
							<p:column>
								<p:inputText id="cantidadEditarRepuesto" required="true"
									requiredMessage="Cantidad: Requerida."
									value="#{carritoComprasController.elementoCotizacionEditar.cantidad}">
									<f:validator validatorId="numeroPositivoValidator" />
								</p:inputText>
							</p:column>
						</p:row>

					</p:panelGrid>
				</div>
				<p:spacer height="15"></p:spacer>

				
				
				<p:spacer height="15"></p:spacer>
				<div class="divBotonesFiltro" align="center">
					<p:commandButton value="Guardar" process="@this,panelElementoEditar" update="plgDt,:growl"
									 styleClass="butonSmall" oncomplete="wvpopUpEditar.hide()"
									 action="#{carritoComprasController.editarElementoCotizacion}" global="false"/>
					<p:spacer width="10" />
					<p:commandButton value="Cancelar" global="false" styleClass="butonSmall" process="@this"
									 onclick="wvpopUpEditar.hide()" />
				</div>
				<div>
					<p:message for="cantidadEditarRepuesto" id="msgCantidadEditarRepuesto" />
				</div>
			</h:panelGroup>
		</div>
	</p:dialog>
	
	<p:dialog id="popUpEditarElementoPromocion" widgetVar="wvpopUpEditarElementoPromocion" closable="true"
			  header="Detalle de la promoci&#243;n" modal="true"
			  resizable="false">
		<div class="panel-general-popup">
			<h:panelGroup id="panelElementoEditarElementoPromocion">
				<p:spacer height="15"></p:spacer>
				<div class="divPanelGridFiltro" align="center">
					<h:panelGrid columns="2">
						<h:outputLabel>C&#243;digo :</h:outputLabel>
						<h:outputText styleClass="texto-general" value="#{carritoComprasController.elementoCotizacionEditar.promocion.codigo}" />
						
						<h:outputLabel>Descripci&#243;n :</h:outputLabel>
						<h:outputText styleClass="texto-general" 
									  value="#{carritoComprasController.elementoCotizacionEditar.promocion.nombre}" />
						
						<h:outputLabel>Cantidad: </h:outputLabel>
						<p:inputText id="cantidadEditarPromocion" required="true" maxlength="10"
								value="#{carritoComprasController.elementoCotizacionEditar.cantidad}"
								requiredMessage="Cantidad: Requerido.">
								<f:validator validatorId="numeroValidator" />
								<f:validator validatorId="numeroPositivoValidator" />
								<f:attribute name="campo" value="Cantidad" />
								<p:ajax update="msgCantidadEditarPromocion" global="false"/>
						</p:inputText>
					</h:panelGrid>
				</div>

				<div class="divBotonesFiltro" align="center">
					<p:commandButton value="Guardar" process="@this,cantidadEditarPromocion" update="plgDt,:growl,msgCantidadEditarPromocion"
									 styleClass="butonSmall" oncomplete="wvpopUpEditarElementoPromocion.hide()"
									 action="#{carritoComprasController.editarElementoCotizacion}" global="false"/>
					<p:spacer width="10" />
					<p:commandButton value="Cancelar" styleClass="butonSmall" process="@this"
									 oncomplete="wvpopUpEditarElementoPromocion.hide()" global="false"/>
				</div>
				<div>
					<p:message for="cantidadEditarPromocion" id="msgCantidadEditarPromocion" />
				</div>
			</h:panelGroup>
		</div>
	</p:dialog>

	<p:dialog id="popupEliminarElementoCarrito"
			  widgetVar="wvPopUpEliminarElementoCarrito" closable="true"
			  header="Eliminar veh&#237;culo" modal="true" resizable="false">
			  
		<div class="panel-general-popup">
			<h:panelGroup id="panelEliminarElementoCarrito">
				<div align="center">
					<h:outputText
						value=" &#191;Est&#225; seguro de eliminar este elemento del carrito?" />
					<p:spacer height="20" />
					<div class="panel-botones" align="center">
						<p:commandButton value="S&#237;" global="false"
							action="#{carritoComprasController.eliminarElementoCotizacion}"
							styleClass="butonSmall" icon="ui-icon ui-icon-check"
							process="@this"
							update=":growl,plgDt"
							oncomplete="wvPopUpEliminarElementoCarrito.hide()" />
						<span>&#160;</span>
						<p:commandButton value="No" icon="ui-icon ui-icon-close" global="false"
										 styleClass="butonSmall" onclick="wvPopUpEliminarElementoCarrito.hide()" />
					</div>
				</div>
			</h:panelGroup>
		</div>
	</p:dialog>

</ui:composition>